package com.zc.timedown.dto;

import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * 今日目标DTO对象
 * 用于传输今日目标的相关信息
 */
@ApiModel(description = "今日目标DTO")
@Data
public class TodayGoalDto {
    /** 主键ID */
    @ApiModelProperty(value = "主键ID,添加时不用传")
    private Long id;

    /** 目标名称（如：背单词50个） */
    @ApiModelProperty(value = "目标名称（如：背单词50个）")
    private String name;

    /** 目标描述（详细说明） */
    @ApiModelProperty(value = "目标描述（详细说明）")
    private String description;

    /** 分类标签（如：学习/健康/娱乐） */
    @ApiModelProperty(value = "分类标签（如：学习/健康/娱乐）")
    private String category;

    /** 图标（可以是emoji或前端图标class） */
    @ApiModelProperty(value = "图标（可以是emoji或前端图标class）")
    private String icon;

    /** 图片序号（对应预设背景图编号，从0开始） */
    @ApiModelProperty(value = "图片序号（对应预设背景图编号，从0开始）")
    private Integer imageIndex;

    /** 是否启用（0=停用，1=启用） */
    @ApiModelProperty(value = "是否启用（0=停用，1=启用）")
    private Integer isEnabled;

    /** 排序权重（越大越靠前） */
    @ApiModelProperty(value = "排序权重（越大越靠前）")
    private Integer sortOrder;

    private String typeName;

    /** 所属用户ID */
    @JsonIgnore
    private Long userId;
}
